package com.dbappsecurity.bifrost.di.component;

import android.app.Activity;
import android.view.View;
import butterknife.Unbinder;
import com.dbappsecurity.bifrost.base.InjectBaseActivity;
import com.dbappsecurity.bifrost.contract.BaseContract;
import com.dbappsecurity.bifrost.di.module.ActivityModule;
import com.dbappsecurity.bifrost.di.scope.ActivityScope;
import com.dbappsecurity.bifrost.view.MainActivity;
import com.tbruyelle.rxpermissions2.RxPermissions;
import dagger.BindsInstance;
import dagger.Component;
import javax.inject.Inject;

/**
 * Created by Arirus on 2018/5/11.
 */

@ActivityScope
@Component(dependencies = AppComponent.class, modules = {ActivityModule.class})
public interface ActivityComponent {

  void inject(InjectBaseActivity activity);
  void inject(MainActivity activity);

  @Component.Builder
  interface Builder {
    @BindsInstance
    Builder setContractView(BaseContract.View view);

    Builder app(AppComponent appComponent);

    Builder base(ActivityModule activityModule);

    ActivityComponent build();
  }
}
